前面幾篇介紹了一些連線的基本原理與使用的方式,也分析了在設計遊戲時應該要注意到的地方才能適當的選擇該使用的連線方式,接下來就要深入去探討連線時到底伺服端與客戶端該怎麼去設計,這裡就會探討到兩個連線遊戲常見的同步方式,狀態同步與幀同步。
狀態同步,顧名思義狀態是同步的首要目標,在狀態同步下要求的是結果的一致性過程的執行方式就不是那麼重要,舉個例子一個人要跑100公尺測驗可以直接就跑到目的地,或是他跑到一半休息一下再跑完,反正只要最終的狀態都是跑完100公尺就好,其他都不重要。
因此使用狀態同步的時候通常都是非即時類的遊戲會採用的方式,這類遊戲是能夠承受高延遲而不嚴重影響體驗例如回合制遊戲,雖然這是一種不嚴謹的同步方式但也是有他的優點:
1.客戶端壓力小,只須同步伺服端的東西並渲染出來
2.安全性高,因為邏輯運算都在伺服端進行
3.客戶端的設計與維護簡單
而缺點也是顯而易見的:
1.玩家之間的畫面不一定一樣
2.伺服端的壓力龐大
至於幀同步因為篇幅較大我希望能講的較完整些因此明天在開始詳細介紹,這也與之後會提到的rollback息息相關。